package com.zkh.myutils.database.data.handler;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.zkh.myutils.database.data.DBOperateUtils;

/**
 * 处理数据方式，将数据转为实体类集合后返回。适用于单行多列。
 * @author zkh

 */
public class BeanListHandler<T> implements Handler<List<T>> {
	
	//类型
	private final Class<? extends T> type;
	
	/**
	 * 构造器
	 */
	public BeanListHandler(Class<? extends T> cls){
		type = cls;
	}

	/**
	 * 处理数据的具体方法
	 */
	public List<T> handle(ResultSet rs) throws SQLException {
		//数据容器
		List<T> ctnlist = new ArrayList<T>();
		//数据获取并转换
		DBOperateUtils.mapListRender(rs, ctnlist, type, false);
		//返回数据
		return ctnlist;
	}

}
